﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Dominio
{
    public class Participante
    {
        public enum Tipo { Atleta = 1, Equipo=2}
        public int Id { get; set; }
        public string Nombre { get; set; }
        public string Foto { get; set; } 
        public List<string> Comentarios {get;set;}
        public Pais Pais { get; set; }
        public List<Deporte> Deportes { get; set; }

        public string TipoParticipante
        {
            get
            {
                if (this.GetType().Equals(Type.GetType("Dominio.Atleta")))
                {
                    return "Atleta";
                }
                else
                {
                    return "Equipo";
                }
            }
        }

        public string PaisNombre
        {
            get
            {
                return Pais.Nombre;
            }
        }

        
        public Participante() 
        {
            Comentarios = new List<string>();
            Deportes = new List<Deporte>();
        }
    }

    public class ParticipanteComparer : IEqualityComparer<Participante>
    {

        public bool Equals(Participante x, Participante y)
        {
            if (Object.ReferenceEquals(x, y)) return true;

            if (Object.ReferenceEquals(x, null) || Object.ReferenceEquals(y, null))
                return false;

            return x.Id.Equals(y.Id);
        }

        public int GetHashCode(Participante participante)
        {
            if (Object.ReferenceEquals(participante, null)) return 0;

            int hashParticipanteId = participante.Id.GetHashCode();
            return hashParticipanteId;
        }

    }

    
}
